A tape library, such as the ADIC Scalar 100 library, consists of a housing in which is included a robot and a number of resources, defined by their element address and their function, namely a number of tape drives (or data transfer elements), plural normal tape slots (or storage elements) and at least one import/export slot (or import/export element). Tape slots typically are tape receptacles in the walls of the housing, and import/export elements typically are receptacles in a door of the housing, which allow tape cassettes to be introduced into and taken from the library by a human operator. Each tape drive typically has a small computer system interface (SCSI) connection to a single host computer. The host also sends SCSI commands to control the robot to move tapes between the tape slots, tape drives and import/export slots. Tape libraries, or more particularly the robot thereof, are able, typically in response to a request from the host, to determine what tapes it contains in which slots, and to convey this information to the host along with information concerning the number of tape drives, normal slots and import/export slots that it has.
Libraries may instead include other types of data transfer elements such as optical mass storage media drive, and corresponding optical medium slots or elements and import/export slots or elements. Libraries may also include connections other than SCSI connections. In a library, a location intended for the retention of storage media, such as tapes or optical storage media, may be referred to as a storage element, and a location intended for the import and export of storage media may be referred to as an import/export element.
Conventionally, only one host has been able to use a library. However, it is known to divide the resources of a library between two or more hosts using a library partitioning module. Such modules are described in GB-A-2378283 and U.S. Pat. No. 6,044,442. Library partitioning modules can encounter problems as regards their import/export elements. In particular, conflicts can occur if two or more hosts want to export a media element (e.g. a tape cassette) simultaneously, or if one host wants to export a media element and another is expecting a media element import. A satisfactory solution to the problem of such conflicts that does not require stringent operator procedures and controls has not so far been proposed.
It is an aim of the invention to provide a library partitioning module with protection against import/export element resource conflicts.